Media signals, such as audio and video signals, within a computer or similar equipment (e.g., a PC or MAC) have historically been difficult to share across a network. Conventionally, software applications made specific classes of signals inside the computer available on the network.
For example, a virtual sound card may be capable of transferring audio to/from applications across a network. Such a virtual soundcard presents a sound card interface to software applications and can transfer audio channels to/from the network thereby providing networked channel transmission for audio applications. A virtual sound card is presented to applications in which each audio channel available to the application is associated with a single audio channel in the network. Signals may be routed to and from anywhere in the network to the channels associated with the application audio channels. From the network, the available channels are virtual soundcard channels—applications and sound cards (e.g. USB hardware) are not visible on the network.
In another example, the Skype application transfers audio from sound cards across the network for the Skype application. Skype provides networked channel transmission for sound cards. In this example, the audio is not available outside of the Skype application.
Aggregate drivers are an example of a workaround to the inability for computers to share media content across a network. With an aggregate driver, sound cards may be combined and their audio rate matched into a single, larger audio interface which can be opened by applications that can only open a single sound card. In this fashion, the audio I/O from many sound cards can be used by a multi-channel audio application without needing to open more than one sound card.
These existing techniques and workarounds do not sufficiently address the inability of systems to take media files from a computer and share them across a network.
Accordingly, it is desirable to have systems, methods and devices capable of taking audio signals from sound cards and/or applications and making them available via a networked routing system.